#pragma once

#ifdef _DEBUG
#ifndef H_INTERNAL_STATS
#define H_INTERNAL_STATS
#endif
#endif

#include <atomic>
#include "../duration.h"

namespace evnetplus {
namespace http {
namespace stats {

struct Time {
    Duration dispatched_time;
    Duration execute_time;
    Duration response_time;
};

struct Count {
    std::atomic<uint64_t> recv;
    std::atomic<uint64_t> dispatched;
    std::atomic<uint64_t> responsed;
    std::atomic<uint64_t> failed;
    std::atomic<uint64_t> slow;
};
}
}
}